@echo off
color 0a
setlocal enabledelayedexpansion

set "tmp=1234567890a\cde\*()$-\"
set index=0
set str_to_find=)
call :find_str !tmp! !str_to_find! 1 index
echo !index!

pause
exit

:find_str
rem 查找特定字符；参数：字符串, 要查找的字符串，1/-1（1：返回第一次出现的位置；-1最后一次出现的位置）
set /a find_index=0
set fd_serch_str_source=%1
set fd_str_serch=%2
set type=%3
set str_len=0
call :str_len !fd_serch_str_source! str_len
for /L %%i in (0,1,!str_len!-1) do (
	if "!fd_serch_str_source:~%%i,1!" EQU "!fd_str_serch!" (set /a find_index=%%i+1)
	if !type! EQU 1 (if !find_index! GTR 0 (goto :break_for))
)
:break_for
set %4=!find_index!
goto :eof

:str_len
rem 计算字符串长度
set /a num_len=0
set tmp=%1
:loop_len
if "!tmp:~%num_len%,1!" NEQ "" (
	set /a num_len+=1
	goto :loop_len
)
set %2=!num_len!
goto :eof

